// @ts-nocheck
import {createRouter, createWebHashHistory} from "vue-router";
import PortalView from "@/views/Portal/PortalView.vue";
import LoginView from "@/views/Account/LoginView.vue";
import DataCatalogView from "@/views/DataCatalog/DataCatalogView.vue";
import RegisterView from "@/views/Account/RegisterView.vue";
import HomeView from "@/views/Home/HomeView.vue";
import AuthenticRightSearchView from "@/views/DataProcessing/AuthenticRightSearchView.vue";
import DataFreshnessView from "@/views/DataProcessing/DataFreshnessView.vue";
import DataReviewerView from "@/views/DataProcessing/DataReviewerView.vue";
import ListCheckView from "@/views/DataProcessing/ListCheckView.vue";
import RequirementsDefinitionView from "@/views/DataProcessing/RequirementsDefinitionView.vue";
import ServiceRequestView from "@/views/DataProcessing/ServiceRequestView.vue";
import ServiceSchedulingView from "@/views/DataProcessing/ServiceSchedulingView.vue";
import TrajectoryTrackingView from "@/views/DataProcessing/TrajectoryTrackingView.vue";
import OrganizationalManagementView from "@/views/Management/Organization/index.vue";
import KeyManagementView from "@/views/Management/KeyManagementView.vue";
import UserManagementView from "@/views/Management/UserManagementView.vue";
import DataProvenanceView from "@/views/DataProcessing/DataProvenanceView.vue";
import ConflictDiscoveryView from "@/views/DataProcessing/ConflictDiscoveryView.vue";
import DataRoute from "@/views/DataProcessing/DataRoute.vue";
import ManagementView from "@/views/Management/ManagementView.vue";
import NotFoundView from "@/views/404/NotFoundView.vue";
import ApplicationOperationPlatform from "@/views/AOP/ApplicationOperationPlatform.vue";
import DataFactoryView from "@/views/DataFactory/DataFactoryView.vue";
import DataInformation from "@/views/DataProcessing/DataInformation.vue";
import Cate from "@/views/DataProcessing/Cate.vue";
import DataAcquisition from "@/views/DataFactory/compoments/DataAcquisition.vue";
import ProofOfTrust from "@/views/DataFactory/compoments/ProofOfTrust.vue";
import FormatConversion from "@/views/DataFactory/compoments/FormatConversion.vue";
import DataCleansing from "@/views/DataFactory/compoments/DataCleansing.vue";
import DataFusion from "@/views/DataFactory/compoments/DataFusion.vue";
import DataMining from "@/views/DataFactory/compoments/DataMining.vue";
import DataAnalysisProcessing from "@/views/DataFactory/compoments/DataAnalysisProcessing.vue";
import DataVisualization from "@/views/DataFactory/compoments/DataVisualization.vue";
import DataBasicProcessing from "@/views/DataFactory/compoments/DataBasicProcessing.vue";
import DataFeatureExtraction from "@/views/DataFactory/compoments/DataFeatureExtraction.vue";
import DataMachineLearning from "@/views/DataFactory/compoments/DataMachineLearning.vue";
import DataOutputResults from "@/views/DataFactory/compoments/DataOutputResults.vue";
import TeamManagement from "@/views/DataFactory/compoments/Teammangement/TeamManagement.vue";
import TaskManagement from "@/views/DataFactory/compoments/TaskManagement/index.vue";

import Team_details from "@/views/DataFactory/compoments/Teammangement/Teamdetails.vue";
import Team_add from "@/views/DataFactory/compoments/Teammangement/Teamadd.vue";
import Teamdetails from "@/views/DataFactory/compoments/Teammangement/Teamdetails.vue";
import Teamadd from "@/views/DataFactory/compoments/Teammangement/Teamadd.vue";
import Teamtype from "@/views/DataFactory/compoments/Teammangement/Teamtype.vue";
import Typeadd from "@/views/DataFactory/compoments/Teammangement/Typeadd.vue";
import Typedetails from "@/views/DataFactory/compoments/Teammangement/Typedetails.vue";

const router = createRouter({
    history: createWebHashHistory(import.meta.env.BASE_URL),
    routes: [
        {
            path: "/",
            component: HomeView,
            children: [
                {
                    path: "",
                    name: "portal",
                    component: PortalView,
                },
                {
                    path: "data",
                    component: DataRoute,
                    redirect: {name: "not_found"},
                    children: [
                        {
                            path: "cate",
                            name: "cate",
                            component: Cate,
                            children: [
                                {
                                    path: "list_check",
                                    name: "list_check",
                                    component: ListCheckView,
                                },
                                {
                                    path: "list_check_detail",
                                    name: "list_check_detail",
                                    component: DataInformation,
                                },
                            ]

                        },
                        {
                            path: "authentic_right_search",
                            name: "authentic_right_search",
                            component: AuthenticRightSearchView,
                        },
                        {
                            path: "conflict_discovery",
                            name: "conflict_discovery",
                            component: ConflictDiscoveryView,
                        },
                        {
                            path: "data_freshness",
                            name: "data_freshness",
                            component: DataFreshnessView,
                        },
                        {
                            path: "data_provenanceView",
                            name: "data_provenanceView",
                            component: DataProvenanceView,
                        },
                        {
                            path: "data_reviewer",
                            name: "data_reviewer",
                            component: DataReviewerView,
                        },
                        // {
                        //     path: "list_check_detail",
                        //     name: "list_check_detail",
                        //     component: DataInformation,
                        // },
                        {
                            path: "requirements_definition",
                            name: "requirements_definition",
                            component: RequirementsDefinitionView,
                        },
                        {
                            path: "service_request",
                            name: "service_request",
                            component: ServiceRequestView,
                        },
                        {
                            path: "service_scheduling",
                            name: "service_scheduling",
                            component: ServiceSchedulingView,
                        },
                        {
                            path: "trajectory_tracking",
                            name: "trajectory_tracking",
                            component: TrajectoryTrackingView,
                        },
                    ]
                },
                {
                    path: "management",
                    component: ManagementView,
                    redirect: {name: "not_found"},
                    children: [
                        {
                            path: "org_management",
                            name: "org_management",
                            component: OrganizationalManagementView,
                        },
                        {
                            path: "key_management",
                            name: "key_management",
                            component: KeyManagementView,
                        },
                        {
                            path: "user_management",
                            name: "user_management",
                            component: UserManagementView,
                        },
                    ]
                },
            ],
        },
        {
            path: "/login",
            name: "login",
            component: LoginView,
        },
        {
            path: "/register",
            name: "register",
            component: RegisterView,
        },
        {
            path: "/data_catalog",
            name: "data_catalog",
            component: DataCatalogView,
        },
        {
            path: "/application_operation_platform",
            name: "application_operation_platform",
            component: ApplicationOperationPlatform,
        },
        {
            path: "/data_factory",
            name: "data_factory",
            component: DataFactoryView,
            children: [
                {
                    path: "data_acquisition",
                    name: "data_acquisition",
                    component: DataAcquisition
                },
                {
                    path: "proof_of_trust",
                    name: "proof_of_trust",
                    component: ProofOfTrust
                },
                {
                    path: "format_conversion",
                    name: "format_conversion",
                    component: FormatConversion
                },
                {
                    path: "data_cleansing",
                    name: "data_cleansing",
                    component:DataCleansing
                },
                {
                    path: "data_fusion",
                    name: "data_fusion",
                    component: DataFusion
                },
                {
                    path: "data_mining",
                    name: "data_mining",
                    component: DataMining
                },
                {
                    path: "data_analysis_processing",
                    name: "data_analysis_processing",
                    component: DataAnalysisProcessing
                },
                {
                    path: "data_visualization",
                    name: "data_visualization",
                    component: DataVisualization
                },
                {
                    path: "data_basic_processing",
                    name: "data_basic_processing",
                    component: DataBasicProcessing
                },
                {
                    path: "data_feature_extraction",
                    name: "data_feature_extraction",
                    component: DataFeatureExtraction
                },
                {
                    path: "data_machine_learning",
                    name: "data_machine_learning",
                    component: DataMachineLearning
                },
                {
                    path: "data_output_results",
                    name: "data_output_results",
                    component: DataOutputResults
                },
                {
                    path: "team_management",
                    name: "team_management",
                    component: Teamtype,

                },
                {
                    path: "team_details/add",
                    name: "team_details/add",
                    component: Teamadd

                },
                {
                    path: "team_details/update",
                    name: "team_details/update",
                    component: Teamdetails

                },
                {
                    path: "team_details/type_update",
                    name: "team_details/type_update",
                    component: Typedetails

                },
                {
                    path: "team_details",
                    name: "team_details",
                    component: TeamManagement

                },
                {
                    path: "type_add",
                    name: "type_add",
                    component: Typeadd

                },
                {
                    path: "task_management",
                    name: "task_management",
                    component: TaskManagement
                }
            ]
        },
        {
            path: "/404",
            name: "not_found",
            component: NotFoundView,
        }
    ],
});


export default router;
